package com.zrrd.learn.chapter09.collectlianxi;

import java.util.*;

/**
 * 集合一般02
 *
 * @author wrn
 * @version 1.0
 * @date 2023/8/15 15:13
 */


public class collect02 {

    /**
     * 定义一个List集合内容为 1，1，2，2，3，3，4，4 使用Set去掉重复数据
     */
    public static void question01() {
        List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 2, 3, 3, 4, 4));
        System.out.println("去重前" + list);

        LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(list);

        List<Integer> list1 = new ArrayList<>(linkedHashSet);
        System.out.println("去重后" + list1);
    }

    /**
     * 定义一个Set集合 内容为 1，12，213，42，12，1，43，22 使用List集合排序
     */
    public static void question02() {

        LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(Arrays.asList(1, 12, 213, 42, 12, 1, 43, 22));
        List<Integer> list = new ArrayList<>(linkedHashSet);

        System.out.println("排序前"+list);

        int temp=0;
        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < list.size()-i-1; j++) {
                if (list.get(j)>list.get(j+1)){
                    temp=list.get(j);
                    list.set(j, list.get(j+1));
                    list.set(j+1,temp);
                }
            }
        }

        System.out.println("排序后"+list);
    }

    /**
     * 分析以下需求，并用代码实现：
     * (1)生成10个1至100之间的随机整数(不能重复)，存入一个List集合
     * (2)编写方法对List集合进行排序
     * (2)然后利用迭代器遍历集合元素并输出
     * (3)如：15 18 20 40 46 60 65 70 75 91
     */
    public static void question03() {

        LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>();


        for (int i = 0; linkedHashSet.size()<10; i++) {
            if(linkedHashSet.size()<10){
                Random random = new Random();
                int s = random.nextInt(101);
                linkedHashSet.add(s);
            }
        }

        List<Integer> list = new ArrayList<>(linkedHashSet);

        System.out.println("排序前"+list);

        int temp=0;
        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < list.size()-i-1; j++) {
                if (list.get(j)>list.get(j+1)){
                    temp=list.get(j);
                    list.set(j, list.get(j+1));
                    list.set(j+1,temp);
                }
            }
        }

        System.out.println("排序后"+list);




    }



    public static void main(String[] args) {
//        question01();
        question02();
//        question03();
    }

}
